const thunk=({dispatch,getState})=>next=>action=>{
    console.log(next,action)
    console.log(dispatch)
    if(typeof action =='function'){
        //如果是函数 执行 参数是dispatch action
        console.log('进来')
        return action(dispatch,getState)
    }
    //默认 什么也没干
    return next(action)
}

export default thunk

//thunk函数 next是原生的dispatch 就是store.dispatch thunk函数返回的就是经过中间件包装过的dispatch 并且已经执行过dispatch(reducer)了、
//所以createStore(counter,applyMiddleware(thunk)) 这句代码执行完毕 返回的store.dispatch已经是包装过的dispatch了
// 这时候返回的dispatch是 action=>{
//     console.log(action)
//     console.log(dispatch)
//     console.log(next)
//     if(typeof action =='function'){
//         //如果是函数 执行 参数是dispatch action
//         return action(dispatch,getState)
//     }
//     //默认 什么也没干
//     return next(action)
// }